package com.lp.article.mapper;

import com.lp.model.entity.article.Article;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

@Mapper
public interface ArticleMapper {

    //主页最新列表
    List<Article> selectNewList(@Param("limit") Integer limit,
                                @Param("offset") Integer offset);

    //获取文章总条数
    Long selectTotal();

    //新增文章数据
    void add(Article article);

    //获取最新发布的文章
    Article selectArticleByLastTime();

    //获取个人文章列表
    List<Article> selectMyArticleList(@Param("userId") Long userId,
                                      @Param("limit") Integer limit,
                                      @Param("offset") Integer offset);

    //获取个人文章总数
    Long selectMyArticleTotal(@Param("userId") Long userId);

    //标记删除文章
    void markDel(@Param("id") Long id);

    //修改文章
    void update(Article article);

    //根据文章 id 获取指定文章
    Article selectArticleById(@Param("id") Long id);

}
